草庐IT

c - 如何通过 SMTP 从 C++ 发送带有附件的电子邮件?

我正在尝试创建一个应用程序来发送带有附件的电子邮件。邮件发送工作正常,但我无法附加任何内容。我在网上找到了这段代码。有人可以帮我吗,如何附加文件?到目前为止我的代码:intsendmail(char*smtpserver,char*from,char*to,char*subject,char*msg){intiProtocolPort=0;charszSmtpServerName[64]="";charszToAddr[64]="";charszFromAddr[64]="";charszBuffer[4096]="";charszLine[255]="";charszMsgLine[

c++ - 我可以使用 Windows 事件日志来调试应用程序吗?

我的应用程序崩溃并生成一个Windows事件日志,内容如下:Faultingapplicationsomeapp.exe,version1.0.0.0,faultingmoduleTAOd.dll,version1.6.9.0,faultaddress0x0000f8286.有没有办法将这个地址映射到方法调用?我没有调试信息。该应用程序正在生产机器上运行,因此无法随时停止。我想从如此少的信息中找到线索... 最佳答案 是的,有办法。生成映射文件并查找函数。编辑:尝试http://www.codeproject.com/KB/debu

c - 以编程方式检测 UPX

我正在尝试弄清楚如何检测二进制文件是否已使用UPX压缩。我正在使用一个简单的CRC来检测我的应用程序是否以任何方式更改,如果CRC由于打包程序而在大小上失败,我想将其检测为正常。现在我开始使用UPX。那么,二进制文件上有标记吗?是否有任何我应该搜索的特定JMP或其他说明?这将主要在Windows中进行测试,但将来我可能会将其添加到Linux中。感谢任何帮助(和代码)。添加:我发现在我检查的10个二进制文件中AddressOfEntryPointImportDirectoryRVAResouceDirectoryRVA指向UPX或具有由UPX设置的偏移量。有这方面的信息吗?谢谢

c++ - 如何获取远程(即不在我的进程内)线程的堆栈跟踪?

假设我正在编写一个调试器。如何在Windows系统上构建堆栈跟踪?我不需要列举符号等等;只是堆栈上各种函数调用的地址。我已经有了具有VM_READ访问权限的线程句柄。 最佳答案 比利,DBGHELP.DLL是你的friend。各种usefulfunctions对于那些希望执行调试器之类的事件的人...您可以在其中找到像StackWalk64这样的好东西和其他允许您指定要操作的目标进程的程序。当然,您可能需要确保您的调试器进程本身已被授予SeDebugPrivilege。玩得开心! 关于c

c - 如何在 Windows 中使用 crypt(3)?

如何从Windows平台上的c程序调用crypt(3)?我找不到要包含的头文件。我有安装了gcc和msys的MinGW。编辑:作为替代方案,我也接受一种从VisualStudio调用此函数(或等效函数)的方法。 最佳答案 你见过吗?http://sourceforge.net/projects/mingw/files/MSYS/crypt/我想您可能错过了它,或者只是没有意识到您拥有它,但这似乎是答案,我通过在Google中输入“cryptmingw”找到了它。 关于c-如何在Windo

c - 在编辑控件中设置滚动位置

我正在尝试在编辑控件中设置滚动位置,我想将它设置为从顶部到底部的20%。我怎样才能通过抽取百分比来做到这一点? 最佳答案 WM_VSCROLL消息在窗口的标准垂直滚动条中发生滚动事件时发送到窗口。当控件中发生滚动事件时,此消息也会发送给垂直滚动条控件的所有者。http://msdn.microsoft.com/en-us/library/bb787577%28v=vs.85%29.aspx可以先GetScrollRange()(http://msdn.microsoft.com/en-us/library/bb787587%28v=

c++ - 在 C++ 中访问 UNC 驱动器/远程网络驱动器

我正在尝试访问网络驱动器(\servername或\ipadress)。这个想法是驱动器只能通过应用程序访问,网络驱动器上的登录应该只能由应用程序使用。到目前为止,我只找到了WNetUseConnection函数(http://msdn.microsoft.com/en-us/library/aa385482%28VS.85%29.aspx),它看起来像我想要的东西。不幸的是我无法让它工作。代码如下:NETRESOURCEnr;;nr.dwType=RESOURCETYPE_DISK;wchar_tremoteName[]=L"\\\\myremotenetworkdrive";nr.

c++ - 使用VirtualQuery找出哪个 "file"使用内存中的某个页面

我正在使用VirtualQuery遍历我的应用程序的虚拟空间。但我想识别应用程序分配的所有内容,而不仅仅是我的exe-类似于SysInternals的VMmap应用程序-我需要知道哪些页面属于哪个文件(我需要识别为我的应用程序和dll分配的页面)。如何实现? 最佳答案 您可以将CreateToolhelp32Snapshot与TH32CS_SNAPMODULE结合使用来检索模块的基址和大小。对于堆,您可以使用GetProcessHeaps()和HeapWalk()来获取不同的堆区域(提交的和保留的)。其他东西(线程堆栈、映射内存)似

c - 如何在程序中打开空控制台窗口 (windows)

我需要从应用程序打开一个控制台窗口,并需要使用控制台API执行读写操作。 最佳答案 要在WinAPI中使用控制台,有一些函数,例如AllocConsole()、GetStdHandle()、WriteConsole()、ReadConsole()等。更多信息请访问http://msdn.microsoft.com/en-us/library/ms682073(VS.85).aspx。 关于c-如何在程序中打开空控制台窗口(windows),我们在StackOverflow上找到一个类似的

c++ - 主板信息

除了WINAPI(缓慢...而且困难),我没有其他好的方法来做事。所以在这里我会提出一个关于如何获取主板信息的请求,例如RAM类型(DDR、DDR2、DDR3)、制造商、型号、南桥、BIOS(品牌、版本、日期)。RAMchannel#,RAMNB频率。就这样。 最佳答案 要获取硬件信息,您可以使用WMI它可以帮助你。 关于c++-主板信息,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questio